"use strict";

class image {
    constructor() {
        //param默认就是/:id，若要改变路由，则可以设置此属性，比如设置为/:name
        //this.param = '/:id'
        this.param = "/:name";
    }
    __mid() {
        return [
            {
                name:'token-verify',
                path:['post']
            }
        ]
    }

    //以下方法，若不需要，要去掉，避免无意义的路由。

    //获取资源具体内容
    async get(c) {
        let imgname = c.param.name;

        // c.param是一个对象,其中的key值是路由参数的名称
        await c.helper.pipe(`${c.service.imagePath}/${imgname}`, c.reply);
    }

    //创建资源
    async post(c) {
        // 根据name获取文件对象
        let f = c.getFile("image");
        if (!f) {
            return c.status(400).send("image is not found");
        }

        // 根据传入的原始文件名生成唯一文件名,主要是用f.filename的扩展名
        let fname = c.helper.makeName(f.filename);

        // 移动文件到指定位置
        await c.moveFile(f, `${c.service.imagePath}/${fname}`);

        c.send(fname);
    }

    //更新资源
    async put(c) {}

    //获取列表
    async list(c) {}

    //删除资源
    async delete(c) {}
}

module.exports = image;
